package com.leinao.project.dao;

import com.leinao.project.model.PaiProjectJob;
import com.leinao.file.dto.ProjectInfoDto;
import com.leinao.project.model.Project;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
 *
 * @Description 项目Dao
 * @author lizi
 * @date 2018/11/16 下午6:48
 * @Version 1.0
 */
@Repository
public interface ProjectMapper {

    /**
     * @Description 根据项目ID获取项目信息
     * @param id : 项目ID
     * @author lizi
     * @date 2018/11/16 下午5:18
     */
    Project getProject(Long id);

    /**
      * 功能描述：根据参数查询任务项目信息
      * @param projectId 项目id
      * @param jobName 任务名称
      * @Return:com.leinao.file.dto.ProjectInfoDto 返回项目任务信息
      * @Author: Guo Liangbo
      * @Date:2019/5/20 21:00
      */
    ProjectInfoDto getProjectJobByParams(@Param("projectId")Long projectId,@Param("jobName")String jobName);

    /**
     * 功能描述：根据个人项目任务id查询任务信息
     *
     * @param projectJobId 个人项目任务id
     * @Author: lizi
     * @Date: 2019/5/16 13:52
     */
    PaiProjectJob getProjectJobInfoByJobId(@Param("projectJobId") Long projectJobId);

    /**
     * 功能描述：根据公开项目任务id查询任务信息
     *
     * @param projectPublicJobId 公开项目任务id
     * @Author: lizi
     * @Date: 2019/5/16 13:52
     */
    PaiProjectJob getProjectPublicJobInfoByJobId(@Param("projectPublicJobId") Long projectPublicJobId);

    /**
     * 功能描述：根据参数查询公开任务项目信息
     * @param projectId 项目id
     * @param jobName 任务名称
     * @Return:com.leinao.file.dto.ProjectInfoDto 返回项目任务信息
     * @Author: Guo Liangbo
     * @Date:2019/5/20 21:00
     */
    ProjectInfoDto getPublicProjectJobByParams(@Param("projectId")Long projectId, @Param("jobName")String jobName);
}